home *** CD-ROM | disk | FTP | other *** search
- /* (c) 1990 S.Hawtin.
- Permission is granted to copy this file provided
- 1) It is not used for commercial gain
- 2) This notice is included in all copies
- 3) Altered copies are marked as such
-
- No liability is accepted for the contents of the file.
-
- */
-
- #include <stdio.h>
-
- #define BUF_LEN 256
-
- int
- copy(src,dest)
- char *src;
- char *dest;
- {/* Copy a file from one place to another */
- FILE *in;
- FILE *out;
- char buffer[BUF_LEN];
- int count,total;
-
- in = fopen(src,"r");
- out = fopen(dest,"w");
- if(in==NULL || out==NULL)
- {if(in!=NULL)
- fclose(in);
- else
- printf("Failed to open \"%s\" for reading\n",src);
- if(out!=NULL)
- fclose(out);
- else
- printf("Failed to open \"%s\" for writing\n",dest);
- return(-1);
- }
- count = 1;
- total = 0;
- while(count>0)
- {
- count = fread(buffer,sizeof(char),BUF_LEN,in);
- if(count>0)
- {total += count;
- fwrite(buffer,sizeof(char),count,out);
- }
- }
- fclose(in);
- fclose(out);
- return(total);
- }
-
- int
- ask(str)
- char *str;
- {/* Ask a question and return the result */
- int answer = -1;
- char result[20];
-
- while(answer==-1)
- {puts(str);
- fflush(stdout);
- gets(result);
- switch (result[0])
- {case 'y': case 'Y':
- answer = 1;
- break;
- case 'n': case 'N':
- answer = 0;
- }
- }
- return(answer ? ~0 : 0);
- }
-
- int
- type(name)
- char *name;
- {/* Type out the contents of a file */
- FILE *in;
- char buffer[BUF_LEN];
- int count;
-
- in = fopen(name,"r");
- if(in==NULL)
- {
- printf("Failed to open \"%s\" for reading\n",name);
- return(-1);
- }
- count = 1;
- while(count>0)
- {
- count = fread(buffer,sizeof(char),BUF_LEN,in);
- if(count>0)
- {
- fwrite(buffer,sizeof(char),count,stdout);
- }
- }
- fclose(in);
- return(0);
- }
-
- void
- echo(str)
- char *str;
- {/* Put a string on the terminal */
- puts(str);
- putchar('\n');
- }
-